multi level intermediate representation